One way to maintain a controlled device at a desired level (e.g., as measured by a control output of the controlled device) is to implement a controller which sends a control signal to manage a control input of the controlled device. A conventional controller is generally designed with a limiter to prevent the control input from exceeding a given level. However, when the control signal becomes saturated, the controller and the controlled device can become functionally unstable. If the control signal overshoots a given level, the overshoot can restrict the controlled device from reaching the desired level.
One conventional way to resolve this problem is to implement anti-windup control. The aim of anti-windup control is to modify the dynamics of a control loop when the control signal saturates so that a good transient behavior may be attained after de-saturation, while avoiding limit cycle oscillations and repeated saturations. However, because of the complexity of anti-windup control, conventional anti-windup schemes are mostly heuristic in nature, and do not address the saturation problem with stability guarantees and enhanced performance.